completely fill the lookup tables for conversion from float to integer.
authorSven Neumann <sven@gimp.org>
Mon, 31 Dec 2007 15:29:06 +0000 (15:29 +0000)
committerSven Neumann <neo@src.gnome.org>
Mon, 31 Dec 2007 15:29:06 +0000 (15:29 +0000)
2007-12-30  Sven Neumann  <sven@gimp.org>

        * extensions/gggl-lies.c (table_init): completely fill the
lookup
        tables for conversion from float to integer.

svn path=/trunk/; revision=268

ChangeLog
extensions/gggl-lies.c

index 93a4c9e4e931771e875854cd6dafeb9fbb40b574..e5f2b2ff9bd5cb5719ef8fa583bdad035b6f96ea 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-12-30  Sven Neumann  <sven@gimp.org>
+
+       * extensions/gggl-lies.c (table_init): completely fill the lookup
+       tables for conversion from float to integer.
+
 2007-12-30  Kevin Cozens  <kcozens@cvs.gnome.org>
 
        * extensions/Makefile.am: Use SHREXT instead of hard-coded ".so".
index d3e33fa43314828e93fcd5927cd0029c37cecf2a..c3e726e257fa6b996c70b75b4a47b80813e3b7cd 100644 (file)
@@ -64,20 +64,21 @@ static int table_inited = 0;
 static void
 table_init (void)
 {
+  int i;
+
   if (table_inited)
     return;
   table_inited = 1;
 
   /* fill tables for conversion from integer to float */
-  {
-    int i;
-    for (i = 0; i < 1 << 8; i++)
-      {
-        table_8_F[i] = (i * 1.0) / 255.0;
-      }
-    for (i = 0; i < 1 << 16; i++)
+  for (i = 0; i < 1 << 8; i++)
+    {
+      table_8_F[i] = (i * 1.0) / 255.0;
+    }
+  for (i = 0; i < 1 << 16; i++)
+    {
       table_16_F[i] = (i * 1.0) / 65535.0;
-  }
+    }
   /* fill tables for conversion from float to integer */
   {
     union
@@ -89,11 +90,13 @@ table_init (void)
 
     u.s[0] = 0.0;
 
-    for (u.s[1] = 0; u.s[1] < 65535; u.s[1] += 1)
+    for (i = 0; i < 1 << 16; i++)
       {
         unsigned char  c;
         unsigned short s;
 
+        u.s[1] = i;
+
         if (u.f <= 0.0)
           {
             c = 0;